/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.cursojava.client.components;

import br.com.cursojava.client.BaseGWT;
import br.com.cursojava.client.IPrincipal;
import br.com.cursojava.client.Principal;
import br.com.cursojava.client.dao.dvd.DvdTGWT;
import br.com.cursojava.client.dao.livro.LivroDAO;
import br.com.cursojava.client.dao.livro.LivroTGWT;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import java.util.List;
import java.util.ArrayList;

/**
 *
 * @author p1520009
 */
public class ConsultaLivro extends BaseGWT implements IPrincipal{
    private Grid<LivroTGWT> grid;
    private LivroDAO livroDAO = new LivroDAO();
    private List<ColumnConfig> configs = new ArrayList <ColumnConfig> ();
    private Button btnCadastrar = new Button("Novo Livro");
    private Principal principal;
    

    public ConsultaLivro() {
        getCpLeste().setVisible(false);
        getCpNorte().setVisible(false);
        getCpOeste().setVisible(false);
        getCpSul().setVisible(true);
        getCpSul().setHeaderVisible(false);
        setHeaderVisible(false);
        getCpCentro().setHeaderVisible(false);
        
                
        ColumnConfig coluna = new ColumnConfig("codigo", "Código", 100);
        
        configs.add(coluna);
        coluna = new ColumnConfig("nome", "Título", 250);
        configs.add(coluna);
        coluna = new ColumnConfig("autor", "Autor", 600);
        configs.add(coluna);
        
        btnCadastrar.addListener(Events.OnClick, new Listener <ButtonEvent>() {

            @Override
            public void handleEvent(ButtonEvent be) {
                CadLivro cadLivro = new CadLivro();
                cadLivro.setPrincipal(principal);               
                principal.getTpAbas().alterarTabLivros(cadLivro);
            }
        });
        try{
            livroDAO.consultarLivro();
        }catch(Exception ex){
            ex.printStackTrace();
        }
        
        ListStore<LivroTGWT> lista = livroDAO.getLista();
        if (lista == null) {
            MessageBox.alert("ATENÇÃO", "Erro no sistema.", null);
        } else {
            
              ColumnModel cm = new ColumnModel(configs);
              grid = new Grid<LivroTGWT> (lista, cm);
              
              getCpCentro().setLayout(new FitLayout());
              getCpCentro().add(grid);
              getCpSul().add(btnCadastrar);
         }
       

    }

    @Override
    public void setPrincipal(Principal principal) {
        this.principal = principal;
    }
}